版本 维度的服务过滤功能
版本的作用
-
通过不同版本:来匹配到蓝绿发布。
-
降级版本:如果服务路由过程中没有找到相应版本的服务实例,会路由到配置的降级版本来做兜底。
-
版本权重:可以通过配置不同版本的调用权重,来匹配到灰度发布。
版本的设置
在配置中指定开启或关闭(默认关闭状态)
spring:
application:
link-flow:
work:
# 版本规则隔离的开关
version:
activate: true
具体服务自己的版本值通过在项目的配置文件中指定
spring:
cloud:
link-flow:
metadata:
version: 1.0
在项目启动后,就会自动将区域放置在服务中的元数据中
版本配置
版本可以在请求头或者配置中心来指定
请求头方式
- 所有服务可以调用的版本都是 version-1 版本
link-flow-version = {"generalVersionRule":"1.0"}
- 版本功能调用 version-1 版本的a服务,调用 version-2 版本的b服务
link-flow-version={
"definiteVersionRuleList":[
{"serverName":"a-service","value":"1"},
{"serverName":"b-service","value":"2"}
]
}
配置中心方式
- 所有服务可以调用的版本都是 version-1 版本
{"generalVersionRule":"1.0"}
- 版本功能调用 version-1 版本的a服务,调用 version-2 版本的b服务
{
"definiteVersionRuleList":[
{"serverName":"a-service","value":"1"},
{"serverName":"b-service","value":"2"}
]
}